package com.fiveGroup.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.fiveGroup.pojo.Message;
import com.fiveGroup.pojo.vo.PageResponseVo;

import java.util.List;

public interface MessageService extends IService<Message> {
    /**
     * 获取两个用户之间的聊天记录
     */
    List<Message> getChatHistory(Integer senderId, Integer receiverId);

    /**
     * 标记与某人的消息为已读
     */
    void markAsRead(Integer senderId, Integer receiverId);

    /**
     * 获取用户的未读消息总数
     */
    Integer getUnreadCount(Integer receiverId);

    /**
     * 获取当前用户的好友列表（双向关注）
     */
    List<Integer> getFriends(Integer userId);


    //后台管理
    PageResponseVo<Message> getAllMessages(Integer senderId, Integer receiverId, String msgType, Integer currentPage, Integer pageSize);
    boolean editMessage(Long id, String content);
    boolean deleteMessage(Long id);
    boolean markAsRead(Long id);
    boolean batchDeleteMessages(List<Long> ids);
    boolean batchMarkAsRead(List<Long> ids);
}
